package com.woniu.his.app.client;

import com.woniu.his.app.client.param.*;
import com.woniu.his.app.client.result.*;
import com.woniu.his.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* name是项目名，contextId是client的名字
*/
@FeignClient(contextId = "AppHistoryClient",name="app",path="app")
public interface AppHistoryClient {

    @PostMapping("demo")
    public Result demo(@RequestBody DemoParam param);


    /**
    * @Description:  根据身份证查询历史挂号信息
    * @Param:
    * @return: dx
    * @Date: 2022/11/26
    */
    @GetMapping("/listAllRegistration")
    public Result<List<RegHistoryResult>> listAllRegistration(@RequestParam String identificationNo);


    /**
     * @Description:  根据病历id查询某次挂号中（检查/拿药）费用（大项 大类）
     * @Param:
     * @return: dx
     * @Date: 2022/11/26
     */
    @RequestMapping("/listFee")
    public Result<List<AppHistoryRegResult>> listFee(@RequestParam Long caseHistoryId);


    /**
     * @Description:  查询某次挂号费用（中药 草药（小项） 根据处方id
     * @Param:
     * @return: dx
     * @Date: 2022/11/26
     */
    @RequestMapping("/listDetail")
    public Result<List<AppDrugItemResult>> listFeeDetail(@RequestParam Long prescriptionId , @RequestParam String type);


    /**
     * @Description:  查询检查检验结果
     * @Param:
     * @return:
     * @Date: 2022/11/26
     */
    @RequestMapping( "/getResult")
    public Result<AppCheckTestResult> getResult(@RequestParam("id") Long id);


    /**
     * @Description:  查询所有科室描述
     * @Param:
     * @return:
     * @Date: 2022/11/26
     */
    @RequestMapping( "/getDeptDescription")
    public Result<List<AppDeptDescriptionResult>> getDeptDescription();



    /**
     * @Description:  根据病例id查询挂号费用,以及是否退号
     * @Param:
     * @return:
     * @Date: 2022/11/26
     */
    @RequestMapping( "/getRegistrationFeeByCase")
    public Result<RegistrationFeeResult> getRegistrationFeeByCase(@RequestParam("caseHistoryId") Long caseHistoryId);








}
